import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @Author lzc
 * @Date 2023/4/21 15:10
 */
public class MapDemo {
    public static void main(String[] args) {
        String s = "{\"tm_name\":\"长粒香\",\"create_time\":\"2021-12-14 00:00:00\",\"logo_url\":\"/static/default.jpg\",\"id\":6,\"op_type\":\"insert\"}";
        JSONObject data = JSON.parseObject(s);
        List<String> columns = new ArrayList<>(Arrays.asList("id,tm_name".split(",")));
        columns.add("op_type");
    
        // 不能在循环中删除集合中的元素
        /*for (String key : data.keySet()) {
            if (!columns.contains(key)) {
                data.remove(key);
            }
        }*/
        // 使用迭代器删除
        /*Iterator<String> it = data.keySet().iterator();
        while (it.hasNext()) {
            String key = it.next();
            if (!columns.contains(key)) {
                it.remove(); // 删除刚刚获取到的那个元素
            }
        }*/
    
        // 删除刚刚获取到的那个元素
        data.keySet().removeIf(key -> !columns.contains(key));  // 1.8增加的方法
    
        System.out.println(data);
    
    }
}
